With the development of electronic information technologies and acoustic technologies, multi-audio output terminal systems have been widely applied. This leads to an issue of synchronous playing between multiple audio output terminals.
An existing prevalent practice of playing audio synchronously is adding playing timestamp information to an audio data stream. After obtaining the audio stream data and timestamp information, audio output terminals output corresponding audio data at a corresponding time point, thereby achieving an objective of synchronous playing between the multiple audio output terminals. However, this existing prevalent method at least has the following drawbacks:
First, an audio source needs to be processed in order to add timestamp information, which has a low universality and lacks flexibility; second, the audio output terminals are required to analyze the timestamp information during the entire playing procedure so as to output the audio data at a corresponding time point, which increases system complexity; finally, if the audio output terminals support, multi-path audio concurrent output (synchronous channel and asynchronous channel), i.e., the audio output terminals contain a mixer, the synchronization operation for synchronous playing has to be completed before mixing (the synchronous channel does not affect the asynchronous channel); and if the sampling rate of an audio data source does not match that of audio data playing hardware, the synchronization operation for the synchronous playing needs to be completed before audio re-sample.
All of the drawbacks above will introduce system complexity and cause poor synchronization precision; besides, on an audio output terminal containing an operating system, control of the synchronization precision becomes even more complex due to randomness of system scheduling and system interruption.